جلسه 39
رباتیک والکترونیک روبواچ پیRoboHp
رباتیک والکترونیک

به نام خدا
با سلام خدمت دوستان عزيزم. عرض پوزش دارم به خاطر تاخير در ارايه‌ي مطالب، ما ابتدا تصميم داشتيم به خاطر امتحانات دوستان، يك وقفه‌ي 2 هفته‌اي در ارايه‌ي مطالب ايجاد كنيم، اما بعد از آن نيز متاسفانه با اختلال در شبكه‌‌ي اينترنت مواجه شديم و عملاً نتوانستيم مطالب را به روز رساني كنيم.
اين جلسه تصميم داريم شما را با ليگ ربات‌هاي مين ياب يا "Deminer" آشنا كنيم. اما اهميت اين ربات‌ها چيست و اصولاً چرا چنين مسابقاتي برگزار مي‌شود؟
پاراگراف زير عيناً از دفترچه‌ي قوانين مسابقات كشوري ربات‌هاي مين ياب در تبيين اهداف ربات‌هاي مين‌ياب آورده شده است:

«بر اساس گزارشات موجود، ايران سومين كشور دنيا از لحاظ مين‌هاي دفن شده است. در طول 8 سال جنگ تحميلي عراق بر عليه ايران بالغ بر 16 ميليون مين در سرزمين‌هاي مرزي غرب و جنوب كشور كاشته شده است كه بعضاً به علت دورافتاده بودن و صعب‌العبور بودن مناطق خنثي نشده باقي مانده و همه ساله افراد زيادي از بين مردم عادي و نظاميان قرباني مي‌كنند. استانهاي آذربايجان غربي، كرمانشاه، كردستان، ايلام و خوزستان، هنوز در معرض خطر انفجار مين‌هاي باقي‌مانده از بيست سال پيش هستند. كشف و خنثي سازي مين‌ها كاري بسيار خطرناك و پرهزينه است. اين اميد وجود دارد كه ربات‌هاي مين‌ياب بتوانند اين خطر را رفع نموده و تلفات انساني و هزينه مين‌يابي را كاهش دهند.»
 

 



ادامه مطلب ...


به نام خدا

 
با  سلام خدمت دوستان خوبم. اميدوارم همگي خوب و خوش و سلامت باشيد و تا به اينجا امتحاناتتون را با موفقيت پشت سر گذاشته باشيد.
 
در اين جلسه به دليل همزماني با امتحانات پايان‌ترم عزيزان، سعي مي‌كنيم مطالب كمي ساده‌تر و مختصر باشد. در اين جلسه در مورد كاربرد PWM در ساخت يك ربات مسيرياب حرفه‌اي توضيح مي‌دهيم.
 
در ربات‌هاي مسيرياب ساده كه در جلسه 19 نيز در مورد آن توضيح داديم، هنوز ميكروكنترلر وارد ربات ما نشده و تصميصماتي كه ربات ما براي يافتن خط مي‌گيريد بسيار مقدماتي هستند و ربات نمي‌تواند مسير‌هاي پيچيده را با سرعت مناسبي دنبال كند.
 
يكي از مهمترين فوايد استفاده از ميكروكنترلر در ساخت ربات‌هاي مسيرياب، استفاده از قابليت PWM براي هدايت موتور‌هاي ربات است. اما به چه صورت از PWM استفاده مي‌كنيم؟





ادامه مطلب ...


به نام خدا
با عرض سلام خدمت دوستان عزيزم
در اين جلسه، با توضيح در مورد نحوه‌ي انجام تنظيمات اوليه در CodeWizard، مطلب راه اندازي موتورهاي ربات به كمك PWM را تكميل خواهيم كرد.
همانطور كه در جلسه‌ي پيش هم متذكر شديم، در اينجا مجال نيست تا تمام مباحث مربوط به PWM و تايمرها را باز كنيم و مفصل به آن‌ها بپردازيم، به همين خاطر در اين جلسه قسمتي از تنظيمات در CodeWizard را بدون توضيح آموزش مي‌دهيم.
براي انجام تنظيمات به كمك CodeWizard، ابتدا بايد طبق روندي كه در جلسه‌ي 26 توضيح داده شد، يك پروژه‌ي جديد در CodeVision بسازيد.
پس از انجام تنظيمات ساير لبه‌ها (مانند Ports، Chip و .... ) در CodeWizard، لبه‌ي Timers را باز كنيد.
 همانطور كه مي‌بينيد ميكروكنترلر ATmega16 داراي 3 تايمر مجزا است و ما براي توليد PWM بايد از اين تايمرها استفاده كنيم. تايمر‌ها كاربرد‌ها‌ي متعددي دارند، و يكي از مهم‌ترين مباحث در ميكروكنترلر هستند، ما هم  در مورد تايمر‌ها در جلسات آينده مفصل توضيح خواهيم داد. اما در اين جلسه فقط استفاده از تايمر‌ها را براي ايجاد PWM براي كنترل موتور‌هاي ربات استفاده مي‌كنيم.


Timer0
 



Timer0 مربوط به رجيستر OCR0 است و بايد به شكل زير تنظيم شود.



ادامه مطلب ...


ه نام خدا
با عرض سلام خدمت دوستان عزيز
در اين جلسه نيز مبحث PWM را دنبال مي‌كنيم. عزيزان براي درك مطالب اين جلسه حتماً بايد جلسه‌ي قبل را مطالعه كرده باشند. در اين جلسه به  آي‌سي L298 نيز اشاراتي شده است كه دوستان مي‌توانند جهت ياد‌اوري، بخش مربوط به L298 در جلسه‌ي 17 را نيز مرور كنند.

ابتدا با توابعي كه براي ايجاد وقفه در اجراي دستورات برنامه توسط CodeVision براي كاربران در نظر گرفته شده آشنا مي‌شويم.
همان‌طور كه در جلسه‌ي پيش ديديم، در قسمت‌هايي از برنامه ممكن است نياز پيدا كنيم تا براي لحظاتي روند اجراي دستورات را متوقف كنيم. CodeVision براي اين كار توابعي را از پيش تنظيم كرده است. (در مورد مبحث «توابع» در زبان C در آينده مفصل توضيح خواهيم داد.)


delay




براي ايجاد تاخير در روند اجراي دستورات، CodeVision دو تابع زير را در اختيار ما قرار داده است.

delay_ms( );
delay_us( );




ادامه مطلب ...


به نام خدا

با سلام خدمت دوستان خوبم

در اين جلسه به مبحث ميكروكنترلر برمي‌گرديم و در مورد PWM و كاربرد‌هاي آن در ساخت ربات توضيح خواهيم داد.


PWM چيست؟




در بسياري از موارد، ما نياز به كنترل ولتاژ بر روي پايه‌هاي خروجي ميكروكنترلر را داريم. مثلاً اگر بخواهيم سرعت موتور را كنترل كنيم، بايد ولتاژي كه بر روي موتور اعمال مي‌شود را كنترل كرد. در حقيقت سرعت موتور تقريباًً تابع مستقيمي از ولتاژي است كه بر روي آن اعمال مي‌شود. يعني اگر ولتاژ كاريِ موتوري (ولتاژ استاندارد براي فعال سازي موتور كه بر روي بدنه‌ي آن نوشته مي‌شود) 12 ولت باشد، با اعمال ولتاژ 6 ولت روي آن، مي‌توانيد سرعت چرخش آن(rpm) را حدوداً به نصف كاهش دهيد.

كنترل سرعت ربات، در همه‌ي سطوح رباتيك اهميت بسيار زيادي دارد، از ربات‌هاي مسيرياب ساده گرفته تا ربات‌هاي فوتباليست. ما تا كنون ياد گرفته‌ايم كه چگونه مي‌توان به موتور دستور حركت يا توقف داد، اما راهي براي كنترل سرعت موتور ياد نگرفته‌ايم.


يادآوري


ادامه مطلب ...


به نام خدا

عرض سلام و شاد باش فراوان به مناسبت عید فرخنده نوروز خدمت همه ی دوستان گُلم. برای همه ی هموطنان عزیزم سالی پر از موفقیت و شادمانی آرزو می کنم ، امیدوارم همیشه دلهاتون شاد و بهاری باشه.
در جلسه ی گذشته در مورد ساختار ADC یا همان مبدل آنالوگ به دیجیتال توضیحات مفصل داده شد. در این جلسه، نحوه ی استفاده از ADC در برنامه را توضیح خواهیم داد.
در میکرو کنترلر ATMEGA16، 8 پایه ی به ADC اختصاص داده شده، یعنی شما می توانید به صورت همزمان، خروجیِ 8 سنسور یا مدار جانبی را به میکروکنترلر خود وصل کنید و اطلاعات آن ها را به وسیله ی ADC دریافت کنید.

اما این 8 پایه کدام پایه ها هستند؟

این 8 پایه، پایه مربوط به پورت A هستند که با فعال کردن ADC در CodeWizard، این پایه ها در اختیار ADC قرار می گیرند. دقت کنید که برای استفده از ADC حتماً باید قبلاً تنظیمات را در CodeWizard انجام داده باشید.
این 8 پایه طبق شکل زیر از ADC0 تا ADC7 نام گذاری شده اند.

به ادامه مطلب بروید...



ادامه مطلب ...


جلسه‌ي سي و دوم  
   
   
تكميل if-else، ساختار while، آشنايي با مبدل آنالوگ به ديجيتال(ADC) و ...

به نام خدا

با عرض سلام و خسته نباشيد خدمت همه‌ي دوستان خوبم

اميدوارم مطالب ارائه شده تا به اينجا داراي سطح كيفي مناسبي بوده باشند و و دوستان عزيز ما بهره‌وري مناسب را از اين مطالب كرده باشند. اگر پيشنهاد يا نظري در مورد اين بخش داريد حتماً با ما در ميان بگذاريد تا انشاالله بتوانيم با الهام‌گيري از نظرات سازنده شما دوستان عزيز، اين بخش را پربارتر كنيم.

در اين جلسه هم بحث برنامه نويسي زبان C را دنبال مي‌كنيم و در ادامه‌ي مبحث جلسه‌ي قبل، شما را با 2 ساختار كنترلي ديگر آشنا مي‌كنيم.



ابتدا يك نكته‌ي ديگر در مورد ساختار
if() و else:

الزامي براي نوشتن قسمت else نيست، يعني مي‌توان فقط if را بدون داشتن else استفاده كرد. همانطور كه مي‌دانيد، از else زماني استفاده مي‌كنيم كه بخواهيم در صورت نادرست بودن شروط ، دستورات مشخصي اجرا شوند(به جلسه‌ي 31 مراجعه شود)

به ادامه مطلب بروید...



ادامه مطلب ...


به نام خدا

با سلام خدمت همه‌ي دوستاي خوبم. اميدوارم خوب و خوش و سلامت باشيد.

اين جلسه قراره در ابتدا نحوه‌ي تنظيم CodeVision را براي پروگرامري كه در جلسه‌ي پيش ساختيم مطرح كنيم و بعد از اون، كمي هم آموزش زبان C را دنبال كنيم.

در جلسات پيش با بخش پروگرامر(Programmer) در CodeVision آشنا شديم. براي استفاده از نرم افزار پروگرامر، ابتدا بايد آن را با توجه به سخت‌افزاري كه براي پروگرام كردن در اختيار داريم تنظيم كنيم. براي اين كار CodeVision را باز كنيد و از منوي بالا گزينه‌ي "Setting" را انتخاب كنيد. سپس گزينه‌ي "Programmer" را انتخاب كنيد. پنجره‌اي به شكل زير باز مي‌شود.




ادامه مطلب ...


جلسه‌ی بیست و هفتم  
   
   
مراحل کامپایل کردن، پروگرام کردن میکروکنترلر و رفع نقص برنامه و ...

به نام خدا

با سلام خدمت همه ی دوستای خوبم و عرض پوزش به خاطر وقفه در ارایه ی مطالب

در این جلسه قراره شما رو با مراحل کامپایل کردن ، پروگرام کردن میکروکنترلر و رفع نقص برنامه آشنا کنیم.

همانطور که گفته شد فقط «زبان ماشین»(Machine Language)، زبان قابل فهم برای پردازنده ی کامپیوتر است، و برنامه هایی که در زبان های دیگر می نویسیم برای اینکه بتوانند توسط پردازنده اجرا شوند باید حتماً توسط کامپایلرها به «زبان ماشین» ترجمه شوند. اما نوشتن برنامه در این زبان برای ما بسیار مشکل است، زیرا دستورات قابل فهم برای این زبان بسیار ابتدایی و ساده هستند و به سختی می توان برنامه های حرفه ای و الگوریتم های پیچیده را در آن پیاده سازی کرد. مثلاً حتی برای انتقال داده از یک متغیر به متغیر دیگر، باید چندین خط برنامه بنویسید، اما در زبان C این کار در 1 عبارت انجام می شود. برنامه نویسی در این زبان دشواری های مختلفی دارد که فعلاً به آن ها نمی پردازیم.

به همین خاطر ما برنامه های خود را در زبان C می نویسیم و باقی کارها را به کامپایلر می سپاریم. کامپایلر ابتدا برنامه ی ما را از زبان C به زبان اسمبلی ترجمه می کند، سپس برنامه ی دیگری به نام «اسمبلر»(" Assembler") برنامه ی ما را از اسمبلی به «زبان ماشین» تبدیل می کند.
زبان اسمبلی



ادامه مطلب ...


آشنايي با Codevision، لبه‌ي Port، لبه‌ي Chip، آشنايي با Pullup و Output value و ...

این جلسه همان‌طور که قول داده بودیم، قراره کمی در مورد Codevision توضیحاتی بدیم. در ابتدا دوستان عزیز برای اینکه بتونن مطلب رو با ما دنبال کنند، لازمه که این نرم افزار تهیه کرده و روی کامپیوتر شخصی خود نصب کنند. در زیر نسخه ی2.03.4 Crack شده‌ی این نرم افزار را، برای دانلود دوستان قرار دادیم.(حجم 8.15مگابایت)


به ادامه مطلب بروید...



ادامه مطلب ...


در‌باره‌ی متغیرها، Identifierها، نکات مهم در برنامه نویسی و ...

در این جلسه نیز در ادامه‌ی مطالب جلسه پیش، سعی می‌کنیم کمی بیشتر با نحوه‌ی برنامه نویسی در زبان C آشنا شویم...

به ادامه مطلب بروید...



ادامه مطلب ...


صفحه قبل 1 2 صفحه بعد

درباره سایت


به فروشگاه رباتیک والکترونیک RoboHpخوش آمدید
پيوندها

تبادل لینک هوشمند
برای تبادل لینک  ابتدا ما را با عنوان فروشگاه رباتیک و آدرس robohp.LXB.ir لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد.





نويسندگان


ورود اعضا:

نام :
وب :
پیام :
2+2=:
(Refresh)

خبرنامه وب سایت:





آمار وب سایت:  

بازدید امروز : 17
بازدید دیروز : 35
بازدید هفته : 148
بازدید ماه : 145
بازدید کل : 130497
تعداد مطالب : 164
تعداد نظرات : 20
تعداد آنلاین : 1


IS
Google

در اين سایت
در كل اينترنت

تولید ملی حمایت از کار و سرمایه ایرانی